package com.ai.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * <p>
 * 系统用户
 * </p>
 *
 * @author MBP Generator
 * @since 2025-06-03
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("sys_user")
public class SysUserEntity extends Model {

    private static final long serialVersionUID = 1L;

    /**
     * 用户id
     */
    @TableId("id")
    private String id;

    /**
     * 账户名称
     */
    @TableField("username")
    private String username;

    /**
     * 加密盐值
     */
    @TableField("salt")
    private String salt;

    /**
     * 用户密码密文
     */
    @TableField("password")
    private String password;

    /**
     * 手机号码
     */
    @TableField("phone")
    private String phone;

    /**
     * 部门id
     */
    @TableField("dept_id")
    private String deptId;

    /**
     * 真实名称
     */
    @TableField("real_name")
    private String realName;

    /**
     * 昵称
     */
    @TableField("nick_name")
    private String nickName;

    /**
     * 邮箱(唯一)
     */
    @TableField("email")
    private String email;

    /**
     * 账户状态(1.正常 0.锁定 )
     */
    @TableField("status")
    private Integer status;

    /**
     * 性别(1.男 2.女)
     */
    @TableField("sex")
    private Integer sex;

    /**
     * 是否删除(1未删除；0已删除)
     */
    @TableField(value = "deleted", fill = FieldFill.INSERT)
    private Integer deleted;

    /**
     * 创建人
     */
    @TableField("create_id")
    private String createId;

    /**
     * 更新人
     */
    @TableField("update_id")
    private String updateId;

    /**
     * 创建来源(1.web 2.android 3.ios )
     */
    @TableField("create_where")
    private Integer createWhere;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;

    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;


}
